package com.yycx.module.bus.provider.service;

import com.yycx.common.mybatis.base.service.IBaseService;
import com.yycx.common.base.entity.EntityMap;
import com.yycx.common.mybatis.model.ResultBody;
import com.yycx.module.bus.client.entity.BusOrder;

import java.util.List;

/**
 * 销售单 接口
 *
 * @author flyme
 * @date 2020-08-17
 */
public interface BusOrderService extends IBaseService<BusOrder> {
    /**
     * 更新发货状态
     *
     * @param orderId
     * @param sendState
     * @return
     */
    Boolean updateSendState(Long orderId, Integer sendState);

    /**
     * 更新订单状态
     *
     * @param orderId
     * @param processInstanceId
     * @param orderState
     * @return
     */
    Boolean updateOrderState(Long orderId,String processInstanceId, Integer orderState);

    /**
     * 更新订单状态
     *
     * @param orderId
     * @param orderState
     * @return
     */
    Boolean updateOrderState(Long orderId, Integer orderState);


    /**
     * 更新订单状态
     *
     * @param orderId
     * @param customFpId
     * @param invoiceAttachment
     * @param sendAttachment
     * @return
     */
    Boolean updateSendInfo(Long orderId, String sendNo,String invoiceAttachment,String sendAttachment,Long customFpId);



    /**
     * 更新供货商ID
     *
     * @param orderId
     * @param supplierId
     * @return
     */
    Boolean updateSupplierId(Long orderId, Long supplierId);

    /**
     * 更新打印状态
     * @param orderId
     * @return
     */
    Boolean updatePrintTag(Long orderId);



    /**
     * 查询订单信息
     *
     * @param orderId
     * @return
     */
    EntityMap getMapByOrderId(Long orderId);

    /**
     * 获取订单打印信息
     * @param orderId
     * @return
     */
    ResultBody getPrintInfo(Long orderId);

    /**
     * 统计首页信息
     * @return
     */
    ResultBody totalCount();
    


    /**
     * 查詢包含退货单的订单id
     * @param orderId
     * @return
     */
    List<Long> selectOrderId(Long orderId);

}
